package com.cy.hui_jie_dan.popj.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 存储任务的详细信息，包括发布和接单相关状态
 */
@Setter
@Getter
@ApiModel(description="存储任务的详细信息，包括发布和接单相关状态")
public class Task implements Serializable {
    /**
    * 任务唯一标识
    */
    @ApiModelProperty(value="任务唯一标识")
    private Integer taskId;

    /**
    * 发布任务的用户ID
    */
    @ApiModelProperty(value="发布任务的用户ID")
    private Integer userId;

    /**
    * 任务标题
    */
    @ApiModelProperty(value="任务标题")
    private String taskTitle;

    /**
    * 任务简介
    */
    @ApiModelProperty(value="任务简介")
    private String taskDescription;

    /**
    * 任务金额
    */
    @ApiModelProperty(value="任务金额")
    private String taskAmount;

    /**
    * 任务详细要求
    */
    @ApiModelProperty(value="任务详细要求")
    private String taskDetails;

    /**
    * 功能标签（逗号分隔）标签
    */
    @ApiModelProperty(value="功能标签（逗号分隔）标签")
    private String taskTags;

    /**
    * 任务类型（项目类型）
    */
    @ApiModelProperty(value="任务类型（项目类型）")
    private String taskProjectType;

    /**
    * 任务状态（-1=未接单，0=待完成，1=已完成）
    */
    @ApiModelProperty(value="任务状态（-1=未接单，0=待完成，1=已完成）")
    private Integer taskStatus;

    /**
    * 任务创建时间
    */
    @ApiModelProperty(value="任务创建时间")
    private LocalDateTime createTime;

    /**
    * 任务截止时间
    */
    @ApiModelProperty(value="任务截止时间")
    private LocalDateTime deadline;

    /**
    * 开发语言要求
    */
    @ApiModelProperty(value="开发语言要求")
    private String developmentLanguage;

    /**
    * 其他技术要求
    */
    @ApiModelProperty(value="其他技术要求")
    private String otherRequirements;

    /**
    * 功能详情
    */
    @ApiModelProperty(value="功能详情")
    private String functionlist;

    /**
    * 项目头像
    */
    @ApiModelProperty(value="项目头像")
    private String communityAvatar;

    /**
    * 项目联系电话
    */
    @ApiModelProperty(value="项目联系电话")
    private String communityPhone;

    private static final long serialVersionUID = 1L;

}